package com.gjx.leetcode;

//14. 最长公共前缀
//
//编写一个函数来查找字符串数组中的最长公共前缀。
//
//如果不存在公共前缀，返回空字符串 ""。
//
//示例 1:
//
//输入: ["flower","flow","flight"]
//输出: "fl"
//示例 2:
//
//输入: ["dog","racecar","car"]
//输出: ""
//解释: 输入不存在公共前缀。
//说明:
//
//所有输入只包含小写字母 a-z 。

public class Solution014 {
	public String longestCommonPrefix(String[] strs) {

		if (strs == null || strs.length == 0) {
			return "";
		}

		int minLen = Integer.MAX_VALUE;
		
		for (String str : strs) {
			minLen = Math.min(minLen, str.length());
		}
		
		if (minLen == 0) {
			return "";
		}
		
		StringBuilder sb = new StringBuilder();
        
		for (int i=0; i<minLen; i++) {
			char c = strs[0].charAt(i);
			boolean equal = true;
			for (int j=1; j<strs.length; j++) {
				if (c != strs[j].charAt(i)) {
					equal = false;
					break;
				}
			}
			if (equal) {
				sb.append(c);
			} else {
				break;
			}
		}
		
		return sb.toString();
    }
}
